The present invention relates to network virtualization, and more specifically, to simulating a non-volatile memory in virtual distributed switches.
In a physical switch, accessing memory for running software operations typically involves access to a physical memory module such as random access memory (RAM) or a flash memory. Physical switch software may interact with physical flash memory on the switch hardware. This device maybe used to store a compressed file system such as JFFS2 or it may write directly to an offset value on the device.
When porting network operating systems from physical switches to virtualization environments, it may be difficult to access memory for running software since when in a virtual distributed switching platform, the virtual distributed switch does not have physical flash memory hardware or physical NVRAM available. The flash memory, particularly when referenced by offset and structured, is typically hardware specific and software may be written for a particular family of physical switches. A considerable amount of software modification is traditionally required to change the existing network operating system in order to accommodate the non-standard platform. Since network operating systems are typically designed to write data directly to flash via a memory technology device interface, it may be a major drawback to have to modify each element of the code that normally reads/writes to flash to read/write to configuration files instead. This can make utilizing the switch software very difficult in a virtualized solution such as a virtual distributed switch. The virtual distributed switching platform cannot readily share code with physical switches, which can lead to a fragmented code base supporting multiple platforms and increased cost.